package com.example.Gethome.securityWeb;

//import com.example.Gethome.entity.Administrator;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.http.HttpMethod;
//import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.config.annotation.web.builders.WebSecurity;
//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
//
//@Configuration
//@EnableWebSecurity
//public class SecurityConfig extends WebSecurityConfigurerAdapter {
//
////    // 基于内存的用户存储
////    @Override
////    public void configure(AuthenticationManagerBuilder auth) throws Exception {
////        auth.inMemoryAuthentication()
////                .withUser("christina").password("123456").roles("USER");
////    }
////
////    // 请求拦截
////    @Override
////    protected void configure(HttpSecurity http) throws Exception {
////        http.authorizeRequests()
////                .antMatchers("/Administrator", "/login.html")
////                .authenticated().anyRequest().permitAll().and()
////                .formLogin().loginPage("/Administrator").permitAll().and()
////                .logout().permitAll();
////    }
//
////@Override
////protected void configure(AuthenticationManagerBuilder auth) throws Exception {
////    super.configure(auth);
////}
//
//@Override
//protected void configure(HttpSecurity http) throws Exception {
////    http
////            .authorizeRequests()
////            .antMatchers("/Administrator/login","/login.html").permitAll()
////            .anyRequest().authenticated()
////            .and()
////            .formLogin()
////            //指定登录页的路径
////            .loginPage("/hello")
////            //指定自定义form表单请求的路径
////            .loginProcessingUrl("/authentication/form")
////            .defaultSuccessUrl("/home")
////            //必须允许所有用户访问我们的登录页（例如未验证的用户，否则验证流程就会进入死循环）
////            //这个formLogin().permitAll()方法允许所有用户基于表单登录访问/login这个page。
////            .permitAll();
////    //默认都会产生一个hiden标签 里面有安全相关的验证 防止请求伪造 这边我们暂时不需要 可禁用掉
////    http .csrf().disable();
//    http.formLogin()                    //  定义当需要用户登录时候，转到的登录页面。
//            .loginPage("/login.html")           // 设置登录页面
//            .loginProcessingUrl("/user/login")  // 自定义的登录接口
//            .and()
//            .authorizeRequests()        // 定义哪些URL需要被保护、哪些不需要被保护
//            .antMatchers("/login.html").permitAll()     // 设置所有人都可以访问登录页面
//            .anyRequest()               // 任何请求,登录后可以访问
//            .authenticated()
//            .and()
//            .csrf().disable();          // 关闭csrf防护
//}

//    @Override
//    public void configure(WebSecurity web) throws Exception {
//        super.configure(web);
//    }

//}
